﻿1.父窗口操作子窗口
父窗口JS代码：
var parValue="现在显示了父窗口中的变量值";
var hao="郝建卫";
function ShowDailog(PageHref,Title,Height,Width)
{
       //--------------left位置
       //screen.availHeight声明了显示浏览器的屏幕的可用宽度
       var dleft =(screen.availHeight-Height)/2;
       //--------------top位置
       var dtop =(screen.availWidth-Width)/2;
       //---------------
 
Var sRet = window.showModalDialog(PageHref,window,Title,"scrollbars=yes;resizable=no;help=no;status=no;center=yes;dialogTop=25;dialogLeft="+ dleft +";dialogTop="+ dtop +";dialogHeight="+Height+"px;dialogWidth="+Width+"px;");
       //--------return
       if (sRet =="refresh")//这种是利用返回值来刷新父页面
       {
              window.Test="true";
              window.location.reload();            
              alert(window.Test);
       }
}
function test()
{
       alert("模态窗口成功调用父窗口的方法");
}
2.模态窗口操作父窗口
var parentWin=window.dialogArguments; 
 
刷新：
       parentWin.location.reload(); 
 
取值：
alert(parentWin.document.getElementById("ShowModalDialogDiv").innerHTML)   //获取父窗口中的对象
 alert("我是从父窗口中得到的变量>>>"+parentWin.parValue);       //获取父窗口中的变量
 
调用父窗口JS方法：
parentWin.test();    //调用父窗口中的方法
 
赋值：
parentWin.document.getElementById("ShowModalDialogDiv").innerHTML="我是从子窗口ShowModalDialog传过来的值";      
 
关闭本窗口：
//关闭本窗口
function CloseWindow()
{
       window.parent.close();
}
 
关闭父窗口：
//关闭父窗口
function CloseModal()
{    
       var IsIE = (navigator.appName == 'Microsoft Internet Explorer')
              if(IsIE){//如果是IE            
                     window.parent.parent.close();
                     //parentWin.opener=null;如果把上面的换成这行，不能关闭父窗口，
                     parentWin.close();
                     //window.parent.parent.parent.parent.close();这个只能关闭模态窗口本身目前只在IE6下测试
              }else{
                     alert("火狐不能直接关闭;需要以下设置1.开firefox,在地址栏输入about:config;2.找到dom.allow_scripts_to_close_windows这项并改为true");
              }    
}